/*
@STI LICENSE
(C) 2006-2008 Universit�t Innsbruck.

This file is part of myOntology.

myOntologyis free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

myOntologyis distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with myOntology.  If not, see <http://www.gnu.org/licenses/>.

@STI LICENSE */
package view.servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.myontology.users.Login;
import org.openrdf.model.URI;

import controller.elementMapper.OntologyModuleMapper;



/**
 * Servlet implementation class for Servlet: OntologyExport
 *
 */
 public class ExportAllOntologies extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
 	 
	private static final long serialVersionUID = 5; // do not know why...
		 	

	public ExportAllOntologies() {
		super();
	}   	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
		
		if ( Login.LOGGED_IN.getValue(request) ) {			
			response.sendRedirect( request.getContextPath() + "/login");
			return;
		}
		
		response.setContentType("text/xml;charset=utf-8");
		response.setHeader("Cache-Control", "no-cache");
		response.setCharacterEncoding("UTF-8");
		
		
		String ret = "";
	    Iterator<URI> iter = null;
				
	    PrintWriter out = response.getWriter();

		ret += ExportHelper.getHeader( request.getContextPath() );



		ArrayList<URI> list = OntologyModuleMapper.selectAll();
		if( list!=null ) {
		    iter = list.iterator();
		    while( iter.hasNext() ) {
	
		    	ret += ExportHelper.getOntologyModule( iter.next() );
			}
		}
	    
	    
	    ret +=
	    		"</rdf:RDF>\n";
	    
	    out.println( ret );
	}
}
